.ace_editor {
  position: relative;
  overflow: hidden;
  font: 12px / normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;
  direction: ltr;
  text-align: left;
}

.ace_scroller {
  position: absolute;
  overflow: hidden;
  top: 0;
  bottom: 0;
  background-color: inherit;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  cursor: text;
}

.ace_content {
  position: absolute;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-width: 100%;
}

.ace_dragging .ace_scroller:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: '';
  background: rgba(250, 250, 250, 0.01);
  z-index: 1000;
}

.ace_dragging.ace_dark .ace_scroller:before {
  background: rgba(0, 0, 0, 0.01);
}

.ace_selecting,
.ace_selecting * {
  cursor: text !important;
}

.ace_gutter {
  position: absolute;
  overflow: hidden;
  width: auto;
  top: 0;
  bottom: 0;
  left: 0;
  cursor: default;
  z-index: 4;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ace_gutter-active-line {
  position: absolute;
  left: 0;
  right: 0;
}

.ace_scroller.ace_scroll-left {
  box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
}

.ace_gutter-cell {
  padding-left: 19px;
  padding-right: 6px;
  background-repeat: no-repeat;
}

.ace_gutter-cell.ace_error {
  background-image: url('');
  background-repeat: no-repeat;
  background-position: 2px center;
}

.ace_gutter-cell.ace_warning {
  background-image: url('');
  background-position: 2px center;
}

.ace_gutter-cell.ace_info {
  background-image: url('');
  background-position: 2px center;
}

.ace_dark .ace_gutter-cell.ace_info {
  background-image: url('');
}

.ace_scrollbar {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 6;
}

.ace_scrollbar-inner {
  position: absolute;
  cursor: text;
  left: 0;
  top: 0;
}

.ace_scrollbar-v {
  overflow-x: hidden;
  overflow-y: scroll;
  top: 0;
}

.ace_scrollbar-h {
  overflow-x: scroll;
  overflow-y: hidden;
  left: 0;
}

.ace_print-margin {
  position: absolute;
  height: 100%;
}

.ace_text-input {
  position: absolute;
  z-index: 0;
  width: 0.5em;
  height: 1em;
  opacity: 0;
  background: transparent;
  -moz-appearance: none;
  appearance: none;
  border: none;
  resize: none;
  outline: none;
  overflow: hidden;
  font: inherit;
  padding: 0 1px;
  margin: 0 -1px;
  text-indent: -1em;
  -ms-user-select: text;
  -moz-user-select: text;
  -webkit-user-select: text;
  user-select: text;
  white-space: pre !important;
}

.ace_text-input.ace_composition {
  background: inherit;
  color: inherit;
  z-index: 1000;
  opacity: 1;
  text-indent: 0;
}

.ace_layer {
  z-index: 1;
  position: absolute;
  overflow: hidden;
  word-wrap: normal;
  white-space: pre;
  height: 100%;
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
}

.ace_gutter-layer {
  position: relative;
  width: auto;
  text-align: right;
  pointer-events: auto;
}

.ace_text-layer {
  font: inherit !important;
}

.ace_cjk {
  display: inline-block;
  text-align: center;
}

.ace_cursor-layer {
  z-index: 4;
}

.ace_cursor {
  z-index: 4;
  position: absolute;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-left: 2px solid;
  transform: translatez(0);
}

.ace_slim-cursors .ace_cursor {
  border-left-width: 1px;
}

.ace_overwrite-cursors .ace_cursor {
  border-left-width: 0;
  border-bottom: 1px solid;
}

.ace_hidden-cursors .ace_cursor {
  opacity: 0.2;
}

.ace_smooth-blinking .ace_cursor {
  -webkit-transition: opacity 0.18s;
  transition: opacity 0.18s;
}

.ace_editor.ace_multiselect .ace_cursor {
  border-left-width: 1px;
}

.ace_marker-layer .ace_step,
.ace_marker-layer .ace_stack {
  position: absolute;
  z-index: 3;
}

.ace_marker-layer .ace_selection {
  position: absolute;
  z-index: 5;
}

.ace_marker-layer .ace_bracket {
  position: absolute;
  z-index: 6;
}

.ace_marker-layer .ace_active-line {
  position: absolute;
  z-index: 2;
}

.ace_marker-layer .ace_selected-word {
  position: absolute;
  z-index: 4;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.ace_line .ace_fold {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  height: 11px;
  margin-top: -2px;
  vertical-align: middle;
  background-image: url(''),
    url('');
  background-repeat: no-repeat, repeat-x;
  background-position: center center, top left;
  color: transparent;
  border: 1px solid black;
  border-radius: 2px;
  cursor: pointer;
  pointer-events: auto;
}

.ace_dark .ace_fold {
}

.ace_fold:hover {
  background-image: url(''),
    url('');
}

.ace_tooltip {
  background-color: #fff;
  background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));
  background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));
  border: 1px solid gray;
  border-radius: 1px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  color: black;
  max-width: 100%;
  padding: 3px 4px;
  position: fixed;
  z-index: 999999;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: default;
  white-space: pre;
  word-wrap: break-word;
  line-height: normal;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  pointer-events: none;
}

.ace_folding-enabled > .ace_gutter-cell {
  padding-right: 13px;
}

.ace_fold-widget {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 -12px 0 1px;
  display: none;
  width: 11px;
  vertical-align: top;
  background-image: url('');
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 3px;
  border: 1px solid transparent;
  cursor: pointer;
}

.ace_folding-enabled .ace_fold-widget {
  display: inline-block;
}

.ace_fold-widget.ace_end {
  background-image: url('');
}

.ace_fold-widget.ace_closed {
  background-image: url('');
}

.ace_fold-widget:hover {
  border: 1px solid rgba(0, 0, 0, 0.3);
  background-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
}

.ace_fold-widget:active {
  border: 1px solid rgba(0, 0, 0, 0.4);
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
}

.ace_dark .ace_fold-widget {
  background-image: url('');
}

.ace_dark .ace_fold-widget.ace_end {
  background-image: url('');
}

.ace_dark .ace_fold-widget.ace_closed {
  background-image: url('');
}

.ace_dark .ace_fold-widget:hover {
  box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
  background-color: rgba(255, 255, 255, 0.1);
}

.ace_dark .ace_fold-widget:active {
  box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
}

.ace_fold-widget.ace_invalid {
  background-color: #ffb4b4;
  border-color: #de5555;
}

.ace_fade-fold-widgets .ace_fold-widget {
  -webkit-transition: opacity 0.4s ease 0.05s;
  transition: opacity 0.4s ease 0.05s;
  opacity: 0;
}

.ace_fade-fold-widgets:hover .ace_fold-widget {
  -webkit-transition: opacity 0.05s ease 0.05s;
  transition: opacity 0.05s ease 0.05s;
  opacity: 1;
}

.ace_underline {
  text-decoration: underline;
}

.ace_bold {
  font-weight: bold;
}

.ace_nobold .ace_bold {
  font-weight: normal;
}

.ace_italic {
  font-style: italic;
}

.ace_error-marker {
  background-color: rgba(255, 0, 0, 0.2);
  position: absolute;
  z-index: 9;
}

.ace_highlight-marker {
  background-color: rgba(255, 255, 0, 0.2);
  position: absolute;
  z-index: 8;
}

.ace_br1 {
  border-top-left-radius: 3px;
}

.ace_br2 {
  border-top-right-radius: 3px;
}

.ace_br3 {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

.ace_br4 {
  border-bottom-right-radius: 3px;
}

.ace_br5 {
  border-top-left-radius: 3px;
  border-bottom-right-radius: 3px;
}

.ace_br6 {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}

.ace_br7 {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}

.ace_br8 {
  border-bottom-left-radius: 3px;
}

.ace_br9 {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}

.ace_br10 {
  border-top-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.ace_br11 {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.ace_br12 {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.ace_br13 {
  border-top-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.ace_br14 {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}

.ace_br15 {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
